@file:Suppress("SpellCheckingInspection")

package com.example.piece.entity

import android.os.Parcelable
import androidx.annotation.Keep
import kotlinx.android.parcel.Parcelize

/**  培训安排 实体类  **/
@Keep
@Parcelize
data class TrainingList(
    /**  当前页数  **/
    val pageNum: Int = 0,
    /**  总页数  **/
    val pages: Int = 0,
    /**  数据  **/
    val list: List<Training> = emptyList()
) : Parcelable


/**  培训安排 Item 实体类  **/
@Keep
@Parcelize
data class Training(
    /**  培训 id  **/
    val id: String = "",
    /**  培训主题名称  **/
    val title: String = "",
    /**  培训时间  **/
    val trainingTime: String = "",
    /**  培训地址  **/
    val trainingLocation: String = "",
    /**  培训内容  **/
    val trainingContent: String = "",
    /**  负责人  **/
    val personIncharge: String = "",
    /**  讲师  **/
    val lecturer: String = "",
    /**  状态  0: 等待培训  1: 正在培训  2: 培训结束  **/
    val status: Int = 0,
    /**  是否已经签到, 为 null 时表示不是记录, true 为以签到, false 为未签到  **/
    var signed: Boolean? = null,
    /**  当前是否还可以进行签到, 为 null 时表示不是记录, true 为还可以签到, false 为不能再进行签到(已超时)  **/
    val allowSign: Boolean? = null,
    /**  日程安排列表  **/
    val schedule: List<TrainingSchedule> = emptyList(),
    /**  附件列表  **/
    val annexs: List<AnnexFile> = emptyList()
) : Parcelable


/**  培训安排 日程 实体类  **/
@Keep
@Parcelize
data class TrainingSchedule(
    /**  日程时间  **/
    val nodeTime: String = "",
    /**  日程内容  **/
    val nodeContent: String = ""
) : Parcelable


/**  培训安排 附件 实体类  **/
@Keep
@Parcelize
data class AnnexFile(
    /**  附件名称  **/
    val fileName: String = "",
    /**  附件大小  **/
    val fileSize: String = "",
    /**  附件类型  **/
    val fileType: String = "",
    /**  附件地址  **/
    val filePath: String = ""
) : Parcelable